The present invention relates to robot feature tracking devices and methods, and more particularly to an assembly, a system and a method for providing additional positioning ability to a tool at an end of a robot arm, and improving the positioning accuracy of a robot tool over a feature to be processed. The invention applies for example to laser processing, such as laser welding, and to arc welding. It also applies to other types of processing that involve the guidance of a tool over a joint or feature to be processed.
It is well known that process robot tasks are often programmed using the method of play back of a taught path. If the work piece to be processed by the robot is not accurately positioned and oriented to correspond with this taught path, the robot will not position its tool accurately over the work piece and flaws will result.
The current solution to this problem is to install a sensor in front of the robot tool and to link this sensor with the robot through a special interface. In a welding operation, for example, the sensor measures the position and orientation of the joint, and communicates this information to the robot to correct its trajectory and tool orientation at the right time and place.
One problem is that many robots are not equipped with this type of interface. They cannot be linked with a sensor for joint or feature tracking.
Another problem is the calibration that is required in order to define the physical relation between the tool center point and the sensor. This relation must be well defined to allow the control unit of the sensor to accurately control the position and orientation of the tool while getting position information about the joint some distance in front of the tool. This calibration is usually performed by accurately positioning the tool center point over a reference object. If the operator does not accurately position the tool center point during this operation, the calibration will not be accurate. The robots usually have a very good positioning repeatability but poor absolute positioning accuracy. This means that the tool center point can be repeatedly sent back to the same position with a good accuracy, but the coordinates of this position in space will not be known accurately. The robot also makes an error when it informs the sensor about its current position during joint or feature tracking because of the response time of the robot arm and because of its mechanical elasticity. In the case of arc welding with a filler wire, the calibration problem is further complicated by the fact that the filler wire is not always straight when it gets out of the tool tip. It often gets out with a variable curve so that the tip of the wire does not correspond to the position of the tool center point. In the case of laser welding, the focal point of the laser beam moves relative to the theoretical position of the tool center point because of imperfections in the optical path.
U.S. Pat. No. 4,952,772 (Zana), U.S. Pat. No. 4,954,762 (Miyake et al.), U.S. Pat. No. 4,969,108 (Webb et al.), U.S. Pat. No. 5,006,999 (Kuno et al.), U.S. Pat. No. 5,014,183 (Carpenter et al.), U.S. Pat. No. 5,015,821 (Sartorio et al.), U.S. Pat. No. 5,066,847 (Kishi et al.), U.S. Pat. No. 5,463,201 (Hedengren et al.), U.S. Pat. No. 5,465,037 (Huissoon et al.), U.S. Pat. No. 5,582,750 (Hamura et al.) and U.S. Pat. No. 5,624,588 (Terawaki et al.) provide examples of welding control systems and methods of the prior art, some of which including error correction algorithms. Yet, none of them provides easy robot path correction for joint and feature tracking by an industrial process robot, which would be applied even at very high speed and without directly intruding into the robot control itself. Likewise, none of them satisfactorily solves the problem of accurate computing of the sensor to robot tool center point geometric relation, in static and dynamic operating modes, which is so critical to high speed joint tracking due to the use of the delayed shift method usually applied when a laser vision system is used in front of the robot tool.
An object of the invention is to provide easy robot path correction for joint and feature tracking by an industrial process robot, which can be applied even at very high speed and without directly intruding into the robot control itself.
Another object of the invention is to provide additional positioning ability to a tool at an end of a robot arm.
A subsidiary object of the invention is to allow a robot to perform joint and feature tracking even if the robot is not equipped with the proper interface.
Another object of the invention is to provide a solution to the problem of accurate computing of the sensor to robot tool center point geometric relation, in static and dynamic operating modes, which is so critical to high speed joint tracking due to the use of the delayed shift method usually applied when a laser vision system is used in front of the robot tool.
According to the present invention, there is provided a motorized slide assembly for providing additional positioning ability to a tool at an end of a robot arm. The assembly comprises a slide arrangement having a base and a sliding element movable along a predetermined course relative to the base. A motor is mounted onto the slide arrangement. A drive device is connected to the motor for moving the sliding element along the course upon operation of the motor. Fasteners are provided for fastening the base of the slide arrangement to the end of the robot arm, and for fastening the tool onto the sliding element.
According to the present invention, there is also provided a motorized slide system for providing additional positioning ability to a tool at an end of a robot arm. The system comprises a motorized slide assembly including a slide arrangement having a base and at least one sliding element movable along a predetermined course relative to the base. A motor is mounted onto the slide arrangement. A drive device is connected to the motor for moving the sliding element along the course upon operation of the motor. Fasteners are provided for fastening the base of the slide arrangement to the end of the robot arm and for fastening the tool onto the sliding element. An encoder is operatively coupled to the motor to provide motor positional information. A control unit is provided for the motorized slide assembly. The control unit includes a communication interface for receiving sensor related data, a I/O interface for receiving and transmitting synchronization signals, a CPU for controlling positions of the sliding element, a memory, a servo-amplifier circuit for powering the motor, a slides control for controlling the servo-amplifier circuit in response to the CPU and the motor positional information provided by the encoder, and a bus circuit interconnecting the communication interface, the I/O interface, the CPU, the memory and the slides control together.
According to the present invention, there is provided a compensation method for compensating errors made by a control unit of a robot sensor when evaluating a relation between a position of a robot guided tool behind the sensor and a position of a feature to be followed by the guided tool. The method comprises the steps of recording position data generated by the sensor during a dry pass of the guided tool over the feature, the position data representing consecutive positions of the feature detected by the sensor, and subtracting the recorded position data from joint position errors computed by the control unit during a feature tracking operation where the guided tool is operated to process the feature.
According to the present invention, there is provided a control unit for a robot sensor tracking a feature to be processed with a robot tool positioned behind the robot sensor. The control unit comprises a sensor interface having a sensor control output and a video input. A memory is connected to the sensor interface. A CPU is connected to the sensor interface and the memory. A communication interface is connected to the CPU, the memory and the sensor interface, and has a communication port. The memory includes a look-ahead buffer that stores a number of successive feature position data computed by the CPU from signals received at the video input, as a function of tracked successive positions reached by the robot sensor during displacement over the feature. An additional buffer is connected to the look-ahead buffer, and stores a number of the successive feature position data as a function of tracked successive positions reached by the robot tool. The CPU has an operating mode causing a computation of a corrected position value required to maintain the robot tool correctly positioned over the feature by subtracting a current position of the robot tool and one of the position data stored in the additional buffer related to the current position of the robot tool from one of the position data stored in the look-ahead buffer related to the current position of the robot tool, and a transmission of the corrected position value through the communication port of the communication interface.
According to the present invention, there is also provided a robot sensor assembly for simultaneously detecting a position of a feature at a given look-ahead distance in front of a tool and a position of a tip of the tool. The robot sensor assembly comprises a sensor body, a bracket for side attachment of the sensor body to the tool, a first probe device attached to the sensor body and directed toward the feature in front of the tool, for providing surface range data along the feature whereby the position of the feature at the look-ahead distance in front of the tool is determinable, and a second probe device attached to the sensor body and directed toward a target region including the tip of the tool and the feature under the tip of the tool, for providing an image of the target region whereby the position of the tip of the tool is determinable.
According to the present invention, there is also provided a sensor control unit for a robot sensor assembly as hereinabove described. The sensor control unit comprises a range processing circuit having an input for receiving a video signal produced by the robot sensor, and an output for producing surface range data extracted from the video signal. A frame grabber has an input for receiving the video signal produced by the robot sensor, and an output for providing image frames stored in the frame grabber. A main CPU has an input connected to the output of the range processing circuit, and a communication port. A secondary CPU has an input connected to the output of the frame grabber, and a communication port. A communication link interconnects the communication ports of the main and the secondary CPUs. A communication interface is connected to the communication link. The secondary CPU has an operating mode causing a processing of the image frames stored in the frame grabber, a determination of the position of the tip of the tool from the image frames, and a transmission of the position of the tip of the tool to the main CPU via the communication link. The main CPU has a sensor-tool calibration mode causing a storage of the position of the tip of the tool received from the secondary CPU as calibration data, and a subsequent processing mode causing a comparison of the position of the tip of the tool received from the secondary CPU with a corresponding position in the calibration data, a computation of tool positioning correction values, and a transmission of the correction values through the communication interface.
To sum up, the addition of motorized slides at the end of a robot arm and the installation of the tool and the sensor on the motorized slides allow for joint and feature tracking to be performed even if the robot is not equipped with the proper interface, and thereby provide additional positioning ability to the tool at the end of the robot arm as the orientation of the slides can be set as needed and desired.
In one preferred embodiment of the invention, motorized slides are added at the end of a robot arm in order to enable real-time seam tracking while the control unit of the robot is not necessarily equipped with a sensor interface. A tool and a sensor are installed on the motorized slides so that a control unit, provided with a vision system to process the data from the sensor and a slides driver to control the position of each slide, maintains the tool correctly positioned over a joint or feature of an object by moving the motorized slides according to the position information computed by the vision system, while the robot arm moves along the joint or feature by following a programmed path.
The compensation method compensates for robot teaching inaccuracies, for calibration errors in the robot arm and for errors caused by the response time of the robot arm.
In another preferred embodiment of the invention, the compensation method, based on data recorded while the robot follows a programmed path, is used to modify the position correction information computed by the control unit of the sensor. This method compensates for errors made by the control unit of the sensor when it evaluates the relation between the position of the tool and the position of the joint or feature to be tracked, these errors being caused by incorrect programming of the robot path or by inaccuracies in the robot.
Accuracy can be improved also with the use of a sensor that gets information from the joint or feature in front of the tool and from the real position of the tip of the tool.
In another preferred embodiment of the present invention, a sensor with two distinct vision zones is used to get information about the position of the tip of the tool, as well as the position of the joint or feature some look-ahead distance in front of the tool, in order to help in calibrating the sensor/tool relation.